Communications systems use numerous techniques to improve reception quality and data rates, to manage the probability of an error being experienced at a receiver and to make efficient use of available, and limited, bandwidth. One common technique used is to interleave the information signals, referred to herein as “code symbols”, before transmission of the code symbols. Interleaving reorders the code symbols across a group, frame, slot or other number of code symbols. Usually, interleaving is employed in combination with code symbol repetition, or other error correcting techniques, in order to mitigate the effects of a burst error occurring during reception of the transmitted signal. Specifically, an error resulting in the loss of some number of adjacent code symbols in a set of symbols received at a receiver can be corrected by the receiver processing the remaining received symbols to reconstruct the lost code symbols from the redundant symbols spread throughout the set.
For example, if three code symbols to be sent are represented as ‘abc’, they could be repeated to yield a set ‘aaabbbccc’. A burst error could result in reception of ‘aaa****cc’, where ‘*’ represents the symbols obscured by a noise burst and, as will be apparent, symbol ‘b’ has been irretrievably lost. Interleaving the repeated symbols could rearrange the code symbols to yield a set ‘abcabcabc’ and, if the same burst error is experienced at the receiver, would result in reception of ‘abc****bc’ from which the transmitted symbols, including ‘b’, can be recovered. Specifically, by spreading the repeated, or otherwise redundant, code symbols across a period of time, redundant bits are dispersed away from each other, so that transmission errors are also effectively spread across time and become easier to correct using techniques such as forward error correcting (FEC). Hence, the receiver can recover ‘abc’ as the transmitted code symbols.
One wireless communication system presently under development and deployment is the 3GPP standard, developed by the Third Generation Partnership Project organization and documented in the technical documentation available from the web site of the organization, www.3gpp.org and many other sources. Within the proposed 3GPP standard, code symbols are transmitted in a format comprising frames of data, each frame having a ten millisecond (10 ms) transmission duration and being sub-divided into fifteen time slots. 3GPP typically employs interleaving depths of between 10 ms and 80 ms, meaning that code symbols are interleaved in arrangements that span between one and eight frames of transmitted code symbols.
While generally an increase in the depth of interleaving results in an improved resistance to burst errors, the amount of interleaving depth that can be employed in a system is often limited by the amount of delay, or latency, that the interleaving will cause. For example, an interleaving depth equivalent to 30 ms of transmission time will introduce about 60 ms of latency into the signal path, comprising at least 30 ms of latency at the transmission end, while code symbols are accumulated for interleaving, and 30 ms of latency at the receiver end while enough code symbols are accumulated to be de-interleaved. With voice transmissions, latency over a certain length (typically 100 ms) will become audible to the listener, and would likely be considered unacceptable. With data transmissions, however, larger interleaving depths are often more tolerable.
Numerous interleaving techniques are known, including random interleaving, square interleaving (sometimes called matrix interleaving), and convolutional interleaving. At the receiver, a complementary de-interleaving operation is performed to recover the code symbols. As is known to those of skill in the art, different interleaving techniques can provide different performances under different conditions.
Other techniques employed include interleaving together different channels of information for the same receiver. Thus, if a channel A is to transmit code symbols A1, A2, A3, A4 and a channel B is to transmit code symbols B1, B2, B3, B4, and if a code repetition rate of two is employed (resulting in A1A1A2A2A3A3A4A4 and B1B1B2B2B3B3B4B4), the result of the interleaving operation could be that channel A sends A2, B4, B1, A2, A4, B3 A1 and channel B sends B2A4, A1, B2, B4, A3, B1. At the receiver, channels A and B are de-interleaved to recover the two sets of code symbols, A1, A2, A3, A4 and B1, B2, B3, B4.
While such interleaving operations can provide significant benefits, the present inventors have also determined that, under some circumstances, conventional interleaving operations and methods and result in problems and/or disadvantages.